#pragma once
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<stdbool.h>

typedef int HPdatatype;

typedef struct Heap
{
	HPdatatype* a;
	HPdatatype size;
	HPdatatype capcity;
}Hp;
void heapInit(Hp* php);
void heapDestroy(Hp* php);
void heapPush(Hp* php, HPdatatype x);
void heapPrint(Hp* php);
void heapPop(Hp* php);
void adjustDown(HPdatatype* a, HPdatatype n,HPdatatype parent);
HPdatatype heapTop(Hp* php);
bool heapEmpty(Hp* php);
void HeapInitArray(Hp* php, int* a, int n);